package com.ctshk.rpc.cms.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.cms.dto.BranchOfficeDTO;
import com.ctshk.rpc.cms.req.BranchOfficeAddReq;
import com.ctshk.rpc.cms.req.BranchOfficeQueryReq;
import com.ctshk.rpc.cms.req.BranchOfficeUpdateReq;
import com.ctshk.rpc.cms.req.UpdateStatusReq;

/**
 * <p>
 * 分社表 服务类
 * </p>
 *
 * @author LiZhiming
 * @since 2021-04-23
 */
public interface IBranchOfficeService{
    /**
     * 新增分社
     *
     * @param req
     * @return
     */
    Result insert(BranchOfficeAddReq req, TokenUser tu);

    /**
     * 查询分社
     * @param branchOfficeId
     * @return
     */
    Result<BranchOfficeDTO> queryById(String branchOfficeId);

    /**
     * 分社分页查询
     * @param req
     * @return
     */
    PageResponse<BranchOfficeDTO> queryList(BranchOfficeQueryReq req);

    /**
     * 分社分页查询列表
     * @param
     * @return
     */
    PageResponse<BranchOfficeDTO> queryListAll(BranchOfficeQueryReq req);

    /**
     * 修改分社
     * @param req
     * @return
     */
    Result update(BranchOfficeUpdateReq req, TokenUser tu);

    /**
     * 修改有效状态
     * @param req
     * @return
     */
    Result updateStatusById(UpdateStatusReq req);
}
